/**
 * 旅游审核状态
 */
export type TravelStatus = '审核中' | '通过' | '拒绝';

/**
 * 旅游图片信息
 */
export interface TravelImage {
  id: number;
  travelInfoId: number;
  imageUrl: string;
  sortOrder?: number;
  createTime?: string;
}

/**
 * 旅游信息
 */
export interface TravelInfo {
  id: number;
  userId: number;
  username?: string;
  userAvatar?: string;
  title: string;
  content: string;
  location: string;
  score: number;
  recommendLevel: number;
  viewCount?: number;
  wantGoCount?: number;
  status?: TravelStatus;
  rejectReason?: string;
  createTime?: string;
  updateTime?: string;
  imageList?: TravelImage[];
  hasWantGo?: boolean;
  blockchainTxHash?: string;
}

/**
 * 发布旅游信息请求参数
 */
export interface TravelCreateRequest {
  title: string;
  content: string;
  location: string;
  score: number;
  recommendLevel: number;
  imageUrls?: string[];
}

/**
 * 更新旅游信息请求参数
 */
export interface TravelUpdateRequest {
  title?: string;
  content?: string;
  location?: string;
  score?: number;
  recommendLevel?: number;
}

/**
 * 旅游信息列表查询参数
 */
export interface TravelListParams {
  page?: number;
  size?: number;
  location?: string;
  keyword?: string;
}

/**
 * 旅游信息列表项
 */
export interface TravelListItem {
  id: number;
  userId: number;
  username: string;
  userAvatar?: string;
  title: string;
  content?: string;
  location: string;
  score: number;
  recommendLevel?: number;
  viewCount?: number;
  wantGoCount: number;
  status: TravelStatus;
  rejectReason?: string | null;
  createTime: string;
  updateTime?: string;
  blockchainTxHash?: string | null;
  imageList?: {
    id: number;
    travelInfoId: number;
    imageUrl: string;
    sortOrder?: number;
    createTime?: string;
  }[];
  hasWantGo?: boolean;
} 